package com.itheima.health.dao;

import com.github.pagehelper.Page;
import com.itheima.health.pojo.Role;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;
import java.util.Set;

@Repository // 加和不加没有影响
public interface RoleDao {

    void addRoleMenu(Map<String, Integer> map);

    void deleteForEditWithMenu(Integer id);

    void editInMenu(Map<String, Object> map);

    List<Integer> findMenuByRoleId(Integer id);

    List<Integer> findPermissionByRoleId(Integer id);

    List<Integer> findRoleInRoleMenu(Integer id);

    List<Role> findRolesByUserId(Integer userId);

    // 菜单5
    Set<Role> findRolesMenuByUserId(Integer userId);


    void add(Role role);

    void addRolePermission(Map<String, Integer> map);

    void delete(Integer id);

    void deleteForEditWithPermission(Integer id);

    void deleteForEditWithUser(Integer id);

    void editInPermission(Map<String, Object> map);

    void editInRole(Role role);

    List<Role> findAll();

    Role findById(Integer id);

    Page<Role> findPage(String queryString);

    List<Integer> findRoleInRolePermission(Integer id);

    List<Integer> findRoleInUserRole(Integer id);

    Integer getId();

}
